
package clases.contabilidad;

import clases.incio.ButtonEditor;
import clases.incio.ButtonRenderer;
import CapaDatos.Sql;
import javax.swing.JCheckBox;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

public class DetalleAsiento extends Asiento {
   
    private String codigocuenta;
    private float debe;
    private float haber;
    private String sql;
  
    public String getCodigocuenta() {
        return codigocuenta;
    }

    public void setCodigocuenta(String codigocuenta) {
        this.codigocuenta = codigocuenta;
    }

    
    public float getDebe() {
        return debe;
    }

    public void setDebe(float debe) {
        this.debe = debe;
    }

    public float getHaber() {
        return haber;
    }

    public void setHaber(float haber) {
        this.haber = haber;
    }

    
    public void GuardarDetalleAsiento(){
    sql="INSERT INTO DETALLEASIENTO VALUES ('"+this.codigocuenta+"', "
            + ""+this.getIdasiento()+", "+this.debe+", "+this.haber+")";
        Sql.insertar(sql);
    }
    
    public void actualizarDetalleAsiento(){
    sql="UPDATE DETALLEASIENTO SET CODIGOCUENTA='"+this.codigocuenta+"', "
        + "DEBE="+this.debe+", HABER="+this.haber+" "
        + "WHERE CODIGOCUENTA='"+this.codigocuenta+"' "
        + "AND IDASIENTO="+this.getIdasiento()+"";
    Sql.actualizar(sql);
    
    }
    public void EliminarDetaleAsiento(){
    sql="DELETE FROM DETALLEASIENTO WHERE IDASIENTO \n" +
    "IN (SELECT IDASIENTO FROM ASIENTO JOIN EJERCICIO \n" +
    "ON ASIENTO.IDEJERCICIO=EJERCICIO.IDEJERCICIO WHERE IDASIENTO="+this.getIdasiento()+")";
    Sql.eliminar(sql);

    }
    public void llenardatosDetalleAsiento(DefaultTableModel modelo, JTable tabla){
    sql="SELECT DETALLEASIENTO.CODIGOCUENTA, CUENTA.DESCRIPCION, \n" +
    "DEBE, HABER FROM DETALLEASIENTO JOIN CUENTA  ON DETALLEASIENTO.CODIGOCUENTA=CUENTA.CODIGOCUENTA\n" +
    "WHERE IDASIENTO="+this.getIdasiento();
   
    Sql.getConsulta(sql, dt);
     String []fila;
  
    while(dt.next()){
    fila=new String[5];
    fila[0]=dt.getString(1);
    fila[1]=dt.getString(2);
    fila[2]=dt.getString(3);
    fila[3]=dt.getString(4);
   
    tabla.getColumnModel().getColumn(4).setCellRenderer(new ButtonRenderer());
    tabla.getColumnModel().getColumn(4).setCellEditor(
    new ButtonEditor(new JCheckBox(), modelo, tabla));
  
    modelo.addRow(fila);
   
      }
    }  
    
}
